The Internet has, of late, become extremely popular. The origins of the Internet date back several decades to a U.S. government sponsored military/educational/business wide area network (WAN) that was designed to remain operational even in the event of the catastrophe, e.g. a major earthquake or a nuclear war. To accomplish this goal, robust protocols and systems were developed which allowed a non-hierarchical, geographically distributed collection of computer systems to be connected as a WAN such that the loss of a particular computer, or group of computers, would not preclude the continued communication among the remaining computers.
Each computer or “node” on the Internet can support one or more “entities” or “domains.” These entities are addressed on the Internet with a domain name which uniquely identifies the domain. Individual users within a domain are provided with names unique to that domain. For example, to communicate with John Smith at a domain “hacksoft.com”, electronic mail or “e-mail” could be sent, for example, to john_smith@hacksoft.com. The suffix “com” means that the domain belongs to a commercial entity (e.g. a business), the suffix “gov” means that the domain belongs to a government entity, and the suffix “edu” means that the domain belongs to an educational entity (such as a University). Other suffixes are available, e.g. for specific foreign countries, for networks (“net”), etc. These suffixes are referred to as “first level” domain names, while the penultimate names (such as “hacksoft”) are referred to as “second level” domain names.
While the use of the Internet has been prevalent for many years now, its use has been limited by the arcane and difficult commands required to access the various computers on the network. To address this problem, a protocol known as the “World Wide Web” or “WWW” was developed to provide an easier and more user-friendly interface for the Internet.
With the World Wide Web an entity having a domain name creates a “web page” which provides information and, to a limited degree, some interaction with the entity's “web site.” By convention, Web pages are written in “hyper-text mark-up language”, commonly referred to as “HTML.” An address for a Web page site for a hypothetical company “Hacksoft” could be http//:www.hacksoft.com. The “http” is a prefix identifying the protocol, namely “hyper-text transfer protocol,” the “www” refers to the World Wide Web, “hacksoft” is the “second level” domain name, and “com” is the “first level” domain name that specifies a commercial enterprise. The full address for the Web page site, namely “http//:www.hacksoft.com”, is known as the address or “URL” of the home page of the Web site.
A computer user can “browse”, i.e. navigate around, the WWW by utilizing a suitable web browser and an Internet service provider. For example, UUNET, America Online, and Global Village all provide Internet access. Currently, the most popular web browser is made by Netscape of Mountain View, Calif. The web browser allows a user to specify or search for a web page on the WWW, and then retrieves and displays the desired web page on the user's computer screen.
When a computer user “calls up” a web page, a variety of information may be displayed on the screen as determined by the entity maintaining the web site. HTML supports text and graphics, and permits “hyperlinks” that allow visitors to the web site to “jump” to (i.e. access and display) other web pages on the WWW. Therefore a person cruising the web may start on a web page of, for example, a company in Palo Alto, Calif., “click” on a hyperlink, and be connected to a web page of, for example, a University in the Netherlands. Clicking on a hyperlink on the on the Dutch University's web page may cause the user to be connected to a web page of, for example, a Government agency in Japan. In this fashion, the World Wide Web can be navigated and browsed for information in an intuitive, linked, and easy to use fashion, and information on computers from around the world may be accessed easily and intuitively.
Until recently, the World Wide Web was, essentially, primarily passive provider of information. There was some limited interactivity in that a computer user could leave certain information at a web site such as their name, address, phone number, etc. which could then be responded to by the entity maintaining the web site. Very recently, there as been an expansion of computational interaction over the World Wide Web. A system known as “Java™” developed by Sun Microsystems, Inc. of Mountain View, Calif. permits programs known as “Applets” to be transferred over the Internet, and run on a user's computer, regardless of the local machine's operating system or hardware. Java Applets are thus operating system and hardware independent. With Java software, a web page can be used to download an Applet to run on a computer user's machine. Typically, these Applets are small programs designed for a specific task, e.g. to create a graph, animate a display, or provide a spreadsheet. After the Applet software serves its function it is typically discarded, i.e. it is usually not permanently saved.
Before Java software, the World Wide Web resembled a large collection of hard disk drives which stored data retrievable by Internet users. With the advent of Java software, the World Wide Web is, in a limited fashion, gaining computational powers.
While Java software is a major advance in the functionality of the Internet, it still falls short of providing true computational power on the World Wide Web. Applets are small, typically transient programs designed for specific tasks. However, it is contemplated that it would be desirable to have a fully functioning computer system, such as a personal computer (PC), a workstation, a mini computer, a mainframe, or even a supercomputer that could provide vastly greater power and functionality to users of the World Wide Web. In addition, the presence of the computational power of larger systems on the Web would also provide for enhanced communication and functionality on the WWW, and would provide access to software applications that could not be implemented, in a practical manner, with an Applet.
There currently exists a species of software which permits a first computer (“master computer”) to monitor and/or control the functionality of a second computer (slave computer). For example, the programs “Timbuktu” and “Carbon Copy” permit a master computer to control a slave computer, or to simply monitor the activity of the slave computer. The owner of the “Timbuktu” software, Farallon Computing, Inc. of Alameda, Calif. has obtained a U.S. Pat. No. 5,241,625 entitled “Screen Image Sharing Among Heterogeneous Computers”, the disclosure of which is incorporated herein by reference. More specifically, these prior art software products provide a methodology which allows the screen of a master computer to display an image of the screen of a slave computer. Optionally, the keyboard and mouse of the master computer can provide inputs to (and thereby control) the slave computer as well.
As communication over wide area networks, such as the Internet, becomes faster, it becomes practical to distribute certain functionality across the network. For example, in an article entitled “More Data at Twice the Speed”, San Jose Mercury News, page C1, Mar. 1, 1996, it was reported that three separate research teams designed a system for transmitting one trillion bits of information per second (a “terabit”). The three teams were Fujitsu Laboratories, AT&T/Bell Labs, and the Japanese communications conglomerate, NTT. This data rate, corresponding to the transmission of one thousand copies of a 30-volume encyclopedia in a single second, permits the practical storage of data at sites remote from a user. For example, Charles Brackett, Executive Director of Optical Networking Research at Bell Communication Research in New Jersey, indicated, in the aforementioned article, that: “This will create huge changes in corporate America. . . . Once we get that kind of capacity in the field, you might just as well have your database in California if you are a bank in New York, as have it next door. Data will move that fast between the two.”
While the prior art has contemplated the remote storage and retrieval of data, it has not addressed the concept of distributing computational power on a wide area network such as the Internet, in such a fashion that maximizes efficiencies and reduces costs. The standard model for interacting with the Internet is still a costly stand-alone personal computer. While there has been some discussion of a low cost “Internet box”, such devices have heretofore been considered low-power “appliances” capable of only simple tasks, and primarily dedicated to “browsing” the WWW. Such “Internet boxes” have not heretofore been thought of as replacements for costly, stand-alone personal computers.